<?php
/**
* 核心类，一些公用的方法都写在这里
*/
namespace App\Http\Services;
use Illuminate\Http\Request;
use App\Http\Services\AjaxService;
class MCore
{
    public static $jwt_key = 'ILOVECHINASOMUCH!';

	
	/**
	 * 获取请求值
	 * @param  string  	$key   			请求名
	 * @param  Request  $request 
	 * @param  int  	$check_empty 	是否检查空值，1-是，0-否
	 */
	public static function get_var($key,Request $request,$check_empty=1){
		if($check_empty){
			if(!$request->input($key)){
				AjaxService::ajax_return(array('error'=>'参数'.$key.'不能为空'));
			}
		}
		return $request->input($key);
	}

	/**
	 * 获取非空请求值
	 * @param  string  	$key   		请求名
	 * @param  Request  $request 
	 * @param  int  	$msg 		为空时的提示信息
	 */
	public static function get_not_empty_var($key,Request $request,$msg='参数不能为空'){
		if(!$request->input($key)){
			AjaxService::ajax_return(array('error'=>$msg));
		}
		
		return $request->input($key);
	}

	/**
     * curl操作
     * @param string $url 接口地址
     * @return array 接口返回的数据
     */
    public static function getJson($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }

    /**
     * alert提示，并返回上一页（不刷新）
     * @param  string $msg 提示
     * @return 
     */
    public static function show_msg_go_back($msg)
    {
    	echo "<script>alert(\"".$msg."\")</script>";
        echo "<script>window.history.go(-1)</script>";
        exit;
    }

    /**
     * 获取图片路径的全路径
     * @param  string $img_url 相对路径
     * @return 图片路径的全路径
     */
    public static function get_full_img_url($img_url)
    {
    	return config('app.img_domain').$img_url;
    }

    /**
     * 根据类型要求获取上传的文件可接受的类型
     * @access  public
     * @author  Lu Shaoming<lushao1012@163.com>
     * @method  GET
     * @param $type
     * @return array
     */
    public static function get_accept_file_type($type)
    {
        switch ($type) {
            case 'sql':
                return ['.sql'];
            case 'image':
                return [];
            case 'doc':
                return [];
        }
    }

    /**
     * 判断是否为生产环境
     * @access  public
     * @author  Lu Shaoming<lushao1012@163.com>
     * @return bool
     */
    public static function is_issue_env()
    {
        if (ENV == 'issue') return true;
        else return false;
    }
}